La creación de un archivo keytab

Puede utilizar la misma cuenta de usuario para la autenticación en todos los nodos de un clúster. Para hacerlo, tiene que crear un archivo keytab que contenga el nombre de entidad de servicio (SPN) por cada uno de estos nodos. Al crear un archivo keytab, debe utilizar el atributo para generar una sal (modificador de la función de hash).

La sal generada se debe guardar mediante un método de su elección para añadir posteriormente nuevos SPN al archivo keytab.

También puede crear una cuenta de usuario de Active Directory distinta para cada nodo de clúster para el que desee configurar la autenticación Kerberos.

Antes de crear un archivo keytab

Antes de crear un archivo keytab, para cada SPN, asegúrese de que no esté registrado en Active Directory. Puede hacerlo ejecutando el siguiente comando: setspn -Q <SPN>, donde <SPN> tiene la siguiente estructura: HTTP/<nombre de dominio completo (FQDN) del nodo del clúster>@<nombre de dominio del dominio de Active Directory en mayúsculas>.

El comando debe devolver "No such SPN found", lo que significa que el SPN en cuestión no está registrado. Si el SPN ya se ha registrado, antes de crear el archivo keytab, tiene que anular la asignación del SPN de la cuenta o eliminar la propia cuenta en el Active Directory al que se asignó este SPN.

Ejemplo de verificación de un SPN para un nodo Control y nodos Secundarios:

setspn -Q HTTP/control-01.test.local@TEST.LOCAL

setspn -Q HTTP/secondary-01.test.local@TEST.LOCAL

setspn -Q HTTP/secondary-02.test.local@TEST.LOCAL

La creación de un archivo keytab

El archivo keytab se crea en el servidor del controlador de dominio o en un equipo con Windows Server que forma parte del dominio, bajo una cuenta de administrador de dominio.

Para crear un archivo keytab utilizando una sola cuenta de usuario, haga lo siguiente:

  1. En el complemento de Usuarios y equipos de Active Directory, cree una cuenta de usuario denominada, por ejemplo, control-usuario.
  2. Para utilizar el algoritmo de cifrado AES256-SHA1, haga lo siguiente en el complemento de Usuarios y equipos de Active Directory:
    1. Abra las propiedades de la cuenta creada.
    2. En la pestaña Cuenta, seleccione la casilla de verificación Esta cuenta admite el cifrado AES de 256 bits de Kerberos.
  3. Cree un archivo keytab para control-usuario utilizando la herramienta ktpass. Para hacerlo, ejecute el siguiente comando en la línea de comandos:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo de Control>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <ruta al archivo>\<nombre del archivo>.keytab

    La herramienta le solicitará la contraseña de control-user al ejecutar el comando.

    El SPN del nodo con rol Control se añadirá al archivo keytab creado. Se muestra la sal generada: Hash de contraseña con sal "<valor hash>".

  4. Por cada nodo del clúster, añada una entrada SPN al archivo keytab. Para hacerlo, ejecute el comando siguiente:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <ruta y nombre del archivo creado anteriormente>.keytab -out <ruta y nombre nuevo>.keytab -setupn -setpass -rawsalt "<<valor hash de la sal obtenida al crear el archivo keytab en el paso 3>"

    La herramienta le solicitará la contraseña de control-user al ejecutar el comando.

Se creará el archivo keytab. El archivo contendrá los SPN de los nodos de clúster.

Ejemplo:

Por ejemplo, debe crear un archivo keytab que contenga los SPN de 3 nodos: control-01.test.local, secondary-01.test.local y secondary-02.test.local.

Para crear un archivo llamado filename1.keytab que contenga el SPN del nodo Control en la carpeta C:\keytabs\, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out C:\keytabs\filename1.keytab

Supongamos que tiene la sal "TEST.LOCALHTTPcontrol-01.test.local".

Para añadir un SPN más, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Para añadir un tercer SPN, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab -setupn -setpass -rawsalt "TEST.LOCALHTTPcontrol-01.test.local"

Como resultado, se creará un archivo llamado filename3.keytab con tres SPN añadidos.

Para crear un archivo keytab utilizando una cuenta de usuario distinta para cada nodo, haga lo siguiente:

  1. En el complemento de Usuarios y equipos de Active Directory cree una cuenta de usuario independiente para cada nodo de clúster (por ejemplo, cuentas de usuario con nombres como control-usuario, usuario-secundario1, usuario-secundario2, etc.).
  2. Para utilizar el algoritmo de cifrado AES256-SHA1, haga lo siguiente en el complemento de Usuarios y equipos de Active Directory:
    1. Abra las propiedades de la cuenta creada.
    2. En la pestaña Cuenta, seleccione la casilla de verificación Esta cuenta admite el cifrado AES de 256 bits de Kerberos.
  3. Cree un archivo keytab para control-usuario utilizando la herramienta ktpass. Para hacerlo, ejecute el siguiente comando en la línea de comandos:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo de Control>@<nombre de dominio de Active Directory en mayúsculas> -mapuser control-user@<nombre de dominio de Active Directory en mayúsculas> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <ruta al archivo>\<nombre del archivo>.keytab

    La herramienta le solicitará la contraseña de control-user al ejecutar el comando.

    El SPN del nodo con rol Control se añadirá al archivo keytab creado.

  4. Por cada nodo del clúster, añada una entrada SPN al archivo keytab. Para hacerlo, ejecute el comando siguiente:

    C:\Windows\system32\ktpass.exe -princ HTTP/<nombre de dominio completo (FQDN) del nodo>@<nombre de dominio de Active Directory en mayúsculas>> -mapuser secondary1-user@<nombre de dominio de Active Directory en mayúsculas>> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <ruta y nombre del archivo creado anteriormente>.keytab -out <ruta y nombre nuevo>.keytab

    La herramienta le solicitará la contraseña de secondary1-user al ejecutar el comando.

Se creará el archivo keytab. El archivo contendrá los SPN de los nodos de clúster.

Ejemplo:

Por ejemplo, debe crear un archivo keytab que contenga los SPN de 3 nodos: control-01.test.local, secondary-01.test.local y secondary-02.test.local.

Para crear un archivo llamado filename1.keytab que contenga el SPN del nodo Control en la carpeta C:\keytabs\, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/control-01.test.local@TEST.LOCAL -mapuser control-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out C:\keytabs\filename1.keytab

Para añadir un SPN más, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-01.test.local@TEST.LOCAL -mapuser secondary1-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename1.keytab -out C:\keytabs\filename2.keytab

Para añadir un tercer SPN, debe ejecutar el siguiente comando:

C:\Windows\system32\ktpass.exe -princ HTTP/secondary-02.test.local@TEST.LOCAL -mapuser secondary2-user@TEST.LOCAL -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in C:\keytabs\filename2.keytab -out C:\keytabs\filename3.keytab

Como resultado, se creará un archivo llamado filename3.keytab con tres SPN añadidos.

Después de crear un archivo keytab

Después de crear un archivo keytab, para cada SPN, asegúrese de que esté registrado y asignado a la cuenta correspondiente. Puede hacerlo ejecutando el siguiente comando: setspn -Q <SPN>, donde <SPN> tiene la siguiente estructura: HTTP/<nombre de dominio completo (FQDN) del nodo del clúster>@<nombre de dominio del dominio de Active Directory en mayúsculas>.

El comando debe devolver "Existing SPN found" y la cuenta a la que está asignado el SPN.

Además, después de crear un archivo keytab, puede verificar la lista de SPN asignados a la cuenta correspondiente. Para hacerlo, puede ejecutar el siguiente comando: setspn -L <cuenta>, donde <cuenta> tiene la siguiente estructura: <nombre de usuario>@<nombre del dominio de Active Directory en mayúsculas>.

Si el archivo keytab se creó con una cuenta, el comando debería devolver una lista de todos los SPN para los que se creó el archivo keytab. Si el archivo keytab se creó con cuentas independientes para cada nodo, el comando debería devolver un SPN asignado a la cuenta específica.

Comando de ejemplo para una cuenta:

setspn -L control-user@TEST.LOCAL

Comando de ejemplo para cuentas distintas para cada nodo:

setspn -L control-user@TEST.LOCAL

setspn -L secondary1-user@TEST.LOCAL

setspn -L secondary2-user@TEST.LOCAL

Inicio de página